# 列表和元组
# 列表和元组，大部分的功能都是差不多的！但是有一个功能是非常明显的区别：
# 列表是可变的:创建好了之后，随时能改
# 元组是不可变的：创建好了之后，改不了，要想改，只能丢弃旧的，搞个新的！

# 创建列表
# 1.直接使用字面值创建
a = []
print(type(a))

# 2.使用list()来创建
b = list()
print(type(b))

# 3.可以在创建列表的时候，在[]中指定列表的初始值
a = [1, 2, 3, 4]
print(a)

# c++/java里面要求一个数组里只能村相同类型的变量
# 而python中可以在同一列表中存放不同类型的变量
a = [1, 'hello', True, [4, 5, 6]]
print(a)

# 5.使用下标访问列表元素
a = [1, 2, 3, 4]
print(a[2])

# 6.使用下标来修改列表元素
a = [1, 2, 3, 4]
a[2] = 100
print(a)

# 7.超出下标有效范围，就会出现异常
# a = [1, 2, 3, 4]
# a[100] = 0
# print(a)

# 8.可以使用内建函数 len 来获取列表的长度
a = [1, 2, 3, 4]
print(len(a))

# 9.python中的下标，其实还可以写成负数！！
# 例如写成-1，其实等价于 len(a) - 1
a = [1, 2, 3, 4]
print(a[len(a) - 1])
# -1 这个下标就是倒数第一个元素！
print(a[-1])

